Vergelijk het met de ochtendfiles : vijftig mensen moeten van Gent naar Brussel. Elk neemt zijn eigen wagen, en staat uiteraard in de file, en er moet parkeerruimte gezocht worden voor vijftig auto's.
Stel dat we die mensenstroom "compresseren"; we zetten in elke auto vijf mensen, resultaat : 10 auto's op de baan en geen 50, en slechts 10 i.p.v. 50 parkeerplaatsen te zoeken.
Net zoals in het autovoorbeeld het comfort wordt opgegeven ten voordele van de snelheid, zal bij video compressie de kwaliteit omgekeerd evenredig zijn aan de compressie, m.a.w. hoe hoger de compressie, hoe lager de kwaliteit als we tenminste geen rekenng houden met de kwaliteit en het doel van de compressor, zo kan je bv. Apple ProRes niet vergelijken met H.264, omdat beide systemen een totaal ander principe hanteren, en ook voor totaal verschillende doelen gebruikt worden).
Hieronder een rekenvoorbeeldje
formaat : | 1920 x 1080 | = | 2073600 | Pixels |
per RGB kleur | x 3 | = | 6220800 | |
bits per kleur | x 8 | = | 49766400 | bits |
/1024 | = | 48600 | Kb | |
/1024 | = | 47,4 | Mb | |
/8 | = | 5,93 | MB | |
x 25 fr/sec | = | 148,3 | MB/sec | |
x 60 sec/min | = | 8898,92 | MB/min | |
8,69 | GB/min | |||
Om één minuut beeldmateriaal op te slaan zou je dus een kleine 9 gigabyte opslagruimte moeten hebben. |
De meeste mensen zullen wel vertrouwd zijn met RAR en/of ZIP files. Dat zijn twee voorbeelden van lossless compressie. M;a.w. de data wordt gecompresseerd zonder dat de kwaliteiit gecompromiteerd wordt. De originele file en de gezipte/unzipte file zijn bit voor bit identiek. O.a. omdat deze operatie zeer CPU-intensief en dus relatief traag is, wordt dze vorm van compressie nagenoeg niet toegepast voor video.
Foto, uncompressed : 376 KB | Dezelfde foto, gezipt : 276 KB, vervolgens terug ontzipped | Weer dezelfde foto, gecompresserrd tot JPEG in hoge kwaliteit: 172 KB | Weer dezelfde foto, gecompresserrd tot JPEG in lage kwaliteit: 120 KB |
inter/intra compressie
De twee laatste foto's (JPEG compressie) zijn voorbeelden van intra-frame compressie, alle video codecs maken daar in een of andere vorm gebruik van. Om beter te begrijpen hoe dat soort compressie in zij werk gaat gebruik ik even een "taal" voorbeeld.
probeer de zinnen hieronder te reconstrueren, maak daarbij gebruik van een aantal regels die van tevoren zijn vastgelegd, namelijk | |||||
| |||||
| |||||
d_koe_stt_in_d_wei +bruine +groene +t_grzen | |||||
|
met een beetje geluk heb je gevonden : de koe staat in de wei | |||||||||||
Wat heeft die koe in de wei nu met videocompressie te maken ? Als we een reeks video (of film) frames bekijken stellen we twee dingen vast :
vergelijken we dat met onze koe :
door de gemaakte afspraken (codec) weten we hoe de tekst gecodeerd is, en kunnen we hem ook decoderen. Meteen zie je ook dat deze "codec" ruimte laat voor foute interpretaties :
De essentie staat er, maar details gaan mogelijk verloren. Ook hier gaat de vergelijking met de video-codec op. Hoe meer informatie wordt "weggelaten" hoe groter het kwaliteitsverlies bij codering/decodering. Beschouwen we vier zinnen als vier mekaar opvolgende frames, waar telkens een deel van de informatie verandert, maar de rest onveranderd blijft, dan komen we tot:
Nu zou het kunnen dat er een groene koe in de bruine wei staat (kunstenaar aan het werk) , met onze codec valt dat niet te ontcijferen want we gaan er van uit dat een groene koe niet bestaat. Onze codec is dus ontoereikend voor sommige, heel specifieke situaties, maar in het overgrote deel van de mogelijkheden wel juist. Laten we nu onze winst uittellen : als we alle letters (inclusief spaties) in de originele versie optellen komen we voor de vier zinnen tot :
| |||||||||||
hierboven dus het tekst equivalent voor een "uncompressed" file. Alle informatie wordt onbewerkt opgeslagen.
En nogmaals dezelfde tekst, maar ditmaal gebruik makend van "inter-frame compression" (een video equivalent daarvan zou HDV , AVCHD of H.264 zijn). Idem zoals hierboven, maar bovendien beschrijven we per zin alleen die elementen die veranderd zijn t.o.v. de vorige zin.
| |||||||||||
Dit is ook het moment om een veel voorkomend misverstand uit de wereld te helpen. Je hebt codecs (DV, MPEG2,MPEG4, AVC, AVCHD, Apple ProRes, H.264, ....) en je hebt containers (Flash Video, QuickTime, Real Media, Windows Media, ...). Een container kan verschillende, maar niet noodzakelijk alle codecs bevatten en bepaalde codecs kunnnen in verschillende containers verpakt worden. Het belangrijkste wat je hieruit moet onthouden is het volgende : converteren van één codec naar een andere betekent dat de video gedecodeerd moet worden, en terug gecodeerd met een andere codec. Bij het veranderen van container (bv. van .mov naar .mxf) blijft je videomateriaal onveranderd, maar wordt het gewoon in een andere verpakking gestoken. |